from tkinter import *
from tkinter import messagebox


class App:
    # 初始化界面的方法
    def __init__(self):
        self.win = Tk()
        self.win.title("答题赢游戏机会！")
        self.win.geometry("500x208+450+350")
        self.win.configure(background="white")
        self.data = 0

        # 用户答案
        self.result = 0

        # 标准答案
        self.com = ""
        
        # 标题 frame
        frameT = Frame(self.win, background="white")
        frameT.pack(side=TOP, anchor=W)

        # 创建标签
        label1 = Label(frameT, text="题目：\n\n", font="宋体 14 bold", bg="white")
        label1.pack(side=LEFT, anchor=SE, padx=10, pady=10)

        # 显示题目内容
        frameR = Frame(frameT, background="white")
        frameR.pack(side=RIGHT, fill=BOTH, expand=YES)

        #  justify=LEFT
        self.text1 = Text(frameR, font="宋体 12", background="white",
                          relief=FLAT, height=3)
        self.text1.pack(padx=10, pady=10, fill=BOTH, expand=YES)
        #self.label3["text"] = 9999

        # 插入一个分隔线
        Label(self.win, font="宋体 1", text="——"*500, background="white", fg="lightgray").pack(anchor=NW)
        

        # 答案 frame
        frameB = Frame(self.win, background="white")
        frameB.pack(side=TOP, anchor=W)

        # 创建标签
        label2 = Label(frameB, text="答案：", font="宋体 14 bold", background="white")
        label2.pack(side=LEFT, padx=10)

        # 输入答案的文本框   SUNKEN, RAISED, GROOVE, RIDGE, and FLAT
        self.text2 = Text(frameB, width=100, font="宋体 12",
                          height=2, background="white", relief=GROOVE)
        self.text2.pack(padx=10, pady=18)
        

        frame = Frame(self.win, background="white")
        frame.pack()

        # 确定按钮
        button1 = Button(frame, text="确定", width=10, relief=RAISED,
                         font="宋体 12 bold", command=self.getText)
        button1.pack(side=LEFT, padx=50, ipady=3)

        # 重填按钮
        button2 = Button(frame, text="重填", width=10, relief=RAISED,
                         font="宋体 12 bold", command=self.clear)
        button2.pack(side=RIGHT, ipady=3)


    # 消息循环的方法
    def run(self):
        self.win.mainloop()

    # 获取用户输入的结果
    def getText(self):
        # 获取用户输入的答案
        self.result = self.text2.get(0.0, END).strip()
 
        if len(self.result) > 0:
            print(type(self.result),self.result.lower(), type(self.com), self.com)

            # 判断用户输入的内容是否和标准答案一致
            if self.result.lower() == self.com:
                print("------")
                print(type(self.result),self.result, type(self.com), self.com)
                data = "-----------------正确-----------------\n继续战斗"
                # 消息弹窗
                res2 = self.showinfo(data)
            else:
                print("---a---")
                print(type(self.result),self.result.lower(), type(self.com), self.com)
                data = "-----------------错误-----------------\n这都不会！！！该好好学习了..."
                # 消息弹窗
                res2 = self.showinfo(data)
            self.win.destroy()


    # 响应重填按钮的点击事件
    def clear(self):
        self.text2.delete(0.0, END)

    # 消息弹窗白方法
    def showinfo(self, msg):
        messagebox.showinfo(message=msg)

    # 返回对比结果
    def return_res(self):
        # 如果用户输入的答案与标准答案一致则返回 True 否则返回 False
        if self.result == self.com:
            return True
        else:
            return False
        

        

if __name__ == "__main__":
   app = App()

   




